
peer.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <urlparse>:
#include <stdio.h>

int urlparse()
{
   0:	e92d4800 	push	{fp, lr}
   4:	e28db004 	add	fp, sp, #4
   8:	e24dd010 	sub	sp, sp, #16
    char *psz_parse;
	char *psz_protocol;
    char *p;
    char *p2;

	psz_parse = "http://192.168.2.41/xiaozhi/test.rmvb";
   c:	e59f325c 	ldr	r3, [pc, #604]	; 270 <urlparse+0x270>
  10:	e50b3010 	str	r3, [fp, #-16]  ; psz_parse

	p  = strstr( psz_parse, ":/" );
  14:	e59f1258 	ldr	r1, [pc, #600]	; 274 <urlparse+0x274>
  18:	e51b0010 	ldr	r0, [fp, #-16]
  1c:	ebfffffe 	bl	0 <strstr>
  20:	e50b0008 	str	r0, [fp, #-8] ; p
	printf("p = %s\n", p);
  24:	e51b1008 	ldr	r1, [fp, #-8]
  28:	e59f0248 	ldr	r0, [pc, #584]	; 278 <urlparse+0x278>
  2c:	ebfffffe 	bl	0 <printf>
    if( p != NULL )
  30:	e51b3008 	ldr	r3, [fp, #-8]
  34:	e3530000 	cmp	r3, #0
  38:	0a000059 	beq	1a4 <urlparse+0x1a4>
    {
        for( p2 = psz_parse; p2 < p; p2++ )
  3c:	e51b3010 	ldr	r3, [fp, #-16] ; psz_parse
  40:	e50b300c 	str	r3, [fp, #-12] ; p2
  44:	ea000052 	b	194 <urlparse+0x194>
        {

		printf("p2 = %s\n", p2);
  48:	e51b100c 	ldr	r1, [fp, #-12]
  4c:	e59f0228 	ldr	r0, [pc, #552]	; 27c <urlparse+0x27c>
  50:	ebfffffe 	bl	0 <printf>
		printf("psz_parse = %s\n", psz_parse);
  54:	e51b1010 	ldr	r1, [fp, #-16]
  58:	e59f0220 	ldr	r0, [pc, #544]	; 280 <urlparse+0x280>
  5c:	ebfffffe 	bl	0 <printf>
#define I(i,a,b) ( (a) <= (i) && (i) <= (b) )
            if( !I(*p2, 'a', 'z' ) && !I(*p2, 'A', 'Z') && !I(*p2, '0', '9') && *p2 != '+' && *p2 != '-' && *p2 != '.' )
  60:	e51b300c 	ldr	r3, [fp, #-12] ; p2
  64:	e5d33000 	ldrb	r3, [r3]   ; *p2
  68:	e3530060 	cmp	r3, #96	; 0x60
  6c:	9a000003 	bls	80 <urlparse+0x80>
  70:	e51b300c 	ldr	r3, [fp, #-12] ; p2
  74:	e5d33000 	ldrb	r3, [r3]   ; *p2
  78:	e353007a 	cmp	r3, #122	; 0x7a
  7c:	9a00001e 	bls	fc <urlparse+0xfc>
  80:	e51b300c 	ldr	r3, [fp, #-12]
  84:	e5d33000 	ldrb	r3, [r3]
  88:	e3530040 	cmp	r3, #64	; 0x40
  8c:	9a000003 	bls	a0 <urlparse+0xa0>
  90:	e51b300c 	ldr	r3, [fp, #-12]
  94:	e5d33000 	ldrb	r3, [r3]
  98:	e353005a 	cmp	r3, #90	; 0x5a
  9c:	9a000016 	bls	fc <urlparse+0xfc>
  a0:	e51b300c 	ldr	r3, [fp, #-12]
  a4:	e5d33000 	ldrb	r3, [r3]
  a8:	e353002f 	cmp	r3, #47	; 0x2f
  ac:	9a000003 	bls	c0 <urlparse+0xc0>
  b0:	e51b300c 	ldr	r3, [fp, #-12]
  b4:	e5d33000 	ldrb	r3, [r3]
  b8:	e3530039 	cmp	r3, #57	; 0x39
  bc:	9a00000e 	bls	fc <urlparse+0xfc>
  c0:	e51b300c 	ldr	r3, [fp, #-12]
  c4:	e5d33000 	ldrb	r3, [r3]
  c8:	e353002b 	cmp	r3, #43	; 0x2b
  cc:	0a00000a 	beq	fc <urlparse+0xfc>
  d0:	e51b300c 	ldr	r3, [fp, #-12]
  d4:	e5d33000 	ldrb	r3, [r3]
  d8:	e353002d 	cmp	r3, #45	; 0x2d
  dc:	0a000006 	beq	fc <urlparse+0xfc>
  e0:	e51b300c 	ldr	r3, [fp, #-12]
  e4:	e5d33000 	ldrb	r3, [r3]
  e8:	e353002e 	cmp	r3, #46	; 0x2e
  ec:	0a000002 	beq	fc <urlparse+0xfc>
            {
                p = NULL;
  f0:	e3a03000 	mov	r3, #0
  f4:	e50b3008 	str	r3, [fp, #-8]
                break;
  f8:	ea000029 	b	1a4 <urlparse+0x1a4>
            }

			printf("%d %d %d\n", !I(*p2, 'a', 'z' ) , !I(*p2, 'A', 'Z'), !I(*p2, '0', '9'));
  fc:	e51b300c 	ldr	r3, [fp, #-12] ; p2
 100:	e5d33000 	ldrb	r3, [r3]   ; *p2
 104:	e3530060 	cmp	r3, #96	; 0x60
 108:	9a000003 	bls	11c <urlparse+0x11c>
 10c:	e51b300c 	ldr	r3, [fp, #-12]
 110:	e5d33000 	ldrb	r3, [r3]
 114:	e353007a 	cmp	r3, #122	; 0x7a
 118:	9a000001 	bls	124 <urlparse+0x124>
 11c:	e3a01001 	mov	r1, #1
 120:	ea000000 	b	128 <urlparse+0x128>
 124:	e3a01000 	mov	r1, #0
 128:	e51b300c 	ldr	r3, [fp, #-12]
 12c:	e5d33000 	ldrb	r3, [r3]
 130:	e3530040 	cmp	r3, #64	; 0x40
 134:	9a000003 	bls	148 <urlparse+0x148>
 138:	e51b300c 	ldr	r3, [fp, #-12]
 13c:	e5d33000 	ldrb	r3, [r3]
 140:	e353005a 	cmp	r3, #90	; 0x5a
 144:	9a000001 	bls	150 <urlparse+0x150>
 148:	e3a02001 	mov	r2, #1
 14c:	ea000000 	b	154 <urlparse+0x154>
 150:	e3a02000 	mov	r2, #0
 154:	e51b300c 	ldr	r3, [fp, #-12]
 158:	e5d33000 	ldrb	r3, [r3]
 15c:	e353002f 	cmp	r3, #47	; 0x2f
 160:	9a000003 	bls	174 <urlparse+0x174>
 164:	e51b300c 	ldr	r3, [fp, #-12]
 168:	e5d33000 	ldrb	r3, [r3]
 16c:	e3530039 	cmp	r3, #57	; 0x39
 170:	9a000001 	bls	17c <urlparse+0x17c>
 174:	e3a03001 	mov	r3, #1
 178:	ea000000 	b	180 <urlparse+0x180>
 17c:	e3a03000 	mov	r3, #0
 180:	e59f00fc 	ldr	r0, [pc, #252]	; 284 <urlparse+0x284>
 184:	ebfffffe 	bl	0 <printf>

	p  = strstr( psz_parse, ":/" );
	printf("p = %s\n", p);
    if( p != NULL )
    {
        for( p2 = psz_parse; p2 < p; p2++ )
 188:	e51b300c 	ldr	r3, [fp, #-12]
 18c:	e2833001 	add	r3, r3, #1
 190:	e50b300c 	str	r3, [fp, #-12]
 194:	e51b200c 	ldr	r2, [fp, #-12]
 198:	e51b3008 	ldr	r3, [fp, #-8]
 19c:	e1520003 	cmp	r2, r3
 1a0:	3affffa8 	bcc	48 <urlparse+0x48>
			printf("%d %d %d\n", !I(*p2, 'a', 'z' ) , !I(*p2, 'A', 'Z'), !I(*p2, '0', '9'));
#undef I

        }
    }
	printf("p2 = %s\n", p2);
 1a4:	e51b100c 	ldr	r1, [fp, #-12]
 1a8:	e59f00cc 	ldr	r0, [pc, #204]	; 27c <urlparse+0x27c>
 1ac:	ebfffffe 	bl	0 <printf>

	if( p != NULL )
 1b0:	e51b3008 	ldr	r3, [fp, #-8]
 1b4:	e3530000 	cmp	r3, #0
 1b8:	0a000029 	beq	264 <urlparse+0x264>
    {
        /* we have a protocol */

        /* skip :// */
        *p++ = '\0';
 1bc:	e51b3008 	ldr	r3, [fp, #-8] ; p
 1c0:	e2832001 	add	r2, r3, #1    ; p++
 1c4:	e50b2008 	str	r2, [fp, #-8] ; p
 1c8:	e3a02000 	mov	r2, #0        ; 0
 1cc:	e5c32000 	strb	r2, [r3]  ; *p++ = 0
		printf("\t ------ %s %d p = %s\n",  __FUNCTION__, __LINE__, p);
 1d0:	e51b3008 	ldr	r3, [fp, #-8]
 1d4:	e3a0202a 	mov	r2, #42	; 0x2a
 1d8:	e59f10a8 	ldr	r1, [pc, #168]	; 288 <urlparse+0x288>
 1dc:	e59f00a8 	ldr	r0, [pc, #168]	; 28c <urlparse+0x28c>
 1e0:	ebfffffe 	bl	0 <printf>
		printf("\t ------ %s %d psz_parse = %s\n",  __FUNCTION__, __LINE__, psz_parse);
 1e4:	e51b3010 	ldr	r3, [fp, #-16]
 1e8:	e3a0202b 	mov	r2, #43	; 0x2b
 1ec:	e59f1094 	ldr	r1, [pc, #148]	; 288 <urlparse+0x288>
 1f0:	e59f0098 	ldr	r0, [pc, #152]	; 290 <urlparse+0x290>
 1f4:	ebfffffe 	bl	0 <printf>
        if( p[1] == '/' )
 1f8:	e51b3008 	ldr	r3, [fp, #-8]
 1fc:	e2833001 	add	r3, r3, #1   ; p + 1
 200:	e5d33000 	ldrb	r3, [r3] ; p[1]
 204:	e353002f 	cmp	r3, #47	; 0x2f
 208:	1a000002 	bne	218 <urlparse+0x218>
            p += 2;
 20c:	e51b3008 	ldr	r3, [fp, #-8]
 210:	e2833002 	add	r3, r3, #2
 214:	e50b3008 	str	r3, [fp, #-8]
        psz_protocol = psz_parse;
 218:	e51b3010 	ldr	r3, [fp, #-16]
 21c:	e50b3014 	str	r3, [fp, #-20]	; 0xffffffec
		printf("\t ------ %s %d url->psz_protocol = %s\n",  __FUNCTION__, __LINE__, psz_protocol);
 220:	e51b3014 	ldr	r3, [fp, #-20]	; 0xffffffec
 224:	e3a0202f 	mov	r2, #47	; 0x2f
 228:	e59f1058 	ldr	r1, [pc, #88]	; 288 <urlparse+0x288>
 22c:	e59f0060 	ldr	r0, [pc, #96]	; 294 <urlparse+0x294>
 230:	ebfffffe 	bl	0 <printf>
        psz_parse = p;
 234:	e51b3008 	ldr	r3, [fp, #-8]
 238:	e50b3010 	str	r3, [fp, #-16]
		printf("\t ------ %s %d p = %s\n",  __FUNCTION__, __LINE__, p);
 23c:	e51b3008 	ldr	r3, [fp, #-8]
 240:	e3a02031 	mov	r2, #49	; 0x31
 244:	e59f103c 	ldr	r1, [pc, #60]	; 288 <urlparse+0x288>
 248:	e59f003c 	ldr	r0, [pc, #60]	; 28c <urlparse+0x28c>
 24c:	ebfffffe 	bl	0 <printf>
		printf("\t ------ %s %d psz_parse = %s\n",  __FUNCTION__, __LINE__, psz_parse);
 250:	e51b3010 	ldr	r3, [fp, #-16]
 254:	e3a02032 	mov	r2, #50	; 0x32
 258:	e59f1028 	ldr	r1, [pc, #40]	; 288 <urlparse+0x288>
 25c:	e59f002c 	ldr	r0, [pc, #44]	; 290 <urlparse+0x290>
 260:	ebfffffe 	bl	0 <printf>
    }

}
 264:	e1a00003 	mov	r0, r3
 268:	e24bd004 	sub	sp, fp, #4
 26c:	e8bd8800 	pop	{fp, pc}
 270:	00000000 	.word	0x00000000
 274:	00000028 	.word	0x00000028
 278:	0000002c 	.word	0x0000002c
 27c:	00000034 	.word	0x00000034
 280:	00000040 	.word	0x00000040
 284:	00000050 	.word	0x00000050
 288:	000000f4 	.word	0x000000f4
 28c:	0000005c 	.word	0x0000005c
 290:	00000074 	.word	0x00000074
 294:	00000094 	.word	0x00000094

00000298 <tpoint>:
         ------ vlc_UrlParse 118 p = 192.168.2.41/xiaozhi/test.rmvb
         ------ vlc_UrlParse 119 psz_parse = 192.168.2.41/xiaozhi/test.rmvb
*/

void tpoint()
{
 298:	e92d4800 	push	{fp, lr}
 29c:	e28db004 	add	fp, sp, #4
 2a0:	e24dd008 	sub	sp, sp, #8
	char *p;
	char *context = "http://192.168.2.41/xiaozhi/test.vod";
 2a4:	e59f3044 	ldr	r3, [pc, #68]	; 2f0 <tpoint+0x58>
 2a8:	e50b3008 	str	r3, [fp, #-8]   ; context

	p = strstr(context, ":/");
 2ac:	e59f1040 	ldr	r1, [pc, #64]	; 2f4 <tpoint+0x5c>
 2b0:	e51b0008 	ldr	r0, [fp, #-8]
 2b4:	ebfffffe 	bl	0 <strstr>
 2b8:	e50b000c 	str	r0, [fp, #-12] ; p
	printf("p = %s\n", p);
 2bc:	e51b100c 	ldr	r1, [fp, #-12]
 2c0:	e59f0030 	ldr	r0, [pc, #48]	; 2f8 <tpoint+0x60>
 2c4:	ebfffffe 	bl	0 <printf>

	*p++ = '\0';
 2c8:	e51b300c 	ldr	r3, [fp, #-12]
 2cc:	e2832001 	add	r2, r3, #1
 2d0:	e50b200c 	str	r2, [fp, #-12]
 2d4:	e3a02000 	mov	r2, #0
 2d8:	e5c32000 	strb	r2, [r3]
	printf("context = %s \n", context);		// context = http  ?
 2dc:	e51b1008 	ldr	r1, [fp, #-8]
 2e0:	e59f0014 	ldr	r0, [pc, #20]	; 2fc <tpoint+0x64>
 2e4:	ebfffffe 	bl	0 <printf>
}
 2e8:	e24bd004 	sub	sp, fp, #4
 2ec:	e8bd8800 	pop	{fp, pc}
 2f0:	000000bc 	.word	0x000000bc
 2f4:	00000028 	.word	0x00000028
 2f8:	0000002c 	.word	0x0000002c
 2fc:	000000e4 	.word	0x000000e4

00000300 <main>:



int main()
{
 300:	e92d4800 	push	{fp, lr}
 304:	e28db004 	add	fp, sp, #4
	urlparse();
 308:	ebfffffe 	bl	0 <urlparse>
	return 0;
 30c:	e3a03000 	mov	r3, #0
}
 310:	e1a00003 	mov	r0, r3
 314:	e8bd8800 	pop	{fp, pc}
